package com.szp.springbootvue.utils;

import org.springframework.beans.factory.annotation.Autowired;

public class UserTokenUtil {
    private static final String TOKEN_KEY = "tmx";



    private UserTokenUtil(){}
    /*验证用户token是否还有效*/
    public static Boolean isUserTokenAlive(String username){
        //从redis中取出用户信息并验证
       return RedisUtil.isUserTokenAlive(username);
        //1，根据用户id来查找token过期时间
        //2，没有找到说明token已经失效
        //3，找了就判断时间是否已过期
        //3.1过期了就返回登录页面
        //3.1没过期了就执行剩下操作
    }
    /*用户登录，将token存入redis中 并且设置key过期时间？*/
    public static void addUserTokenToRedis(String username ,String token){
        //hash  userToken userId {userId,userToken,userTokenDestroyTime}
        //String userIdToken {userId,userToken,userTokenDestroyTime} 设置key过期时间
        //token中含有用户id以及相关权限  让前端跳转相应的前端页面
        //注意：前端只根据token中的权限跳转相应的页面而已  权限控制在后端做
        new RedisUtil().addUserToken(username,token);
        //如果用户登陆之后关闭浏览器token是否还存在浏览器中？
        //如果存在的话打开网站会不会不用登录直接发送已存在的token？
        //用户重复登录怎么办?
        //先根据userid去redis查找，如果有就把原来的token直接下发用户
        //没有就新建客户
    }
    /*用户注销，将token从redis中删除*/
    public static void deleteUserTokenFromRedis(){
        //1,先根据用户id找到token
        // 2，将其删除
        // 3，返回未登录界面
    }
    /*更新用户token时间*/
    public static void updateUserTokenTime(){
        //从用户最后一次操作开始计算过期时间
        //用户操作就更新一次token时间
    }
}
